package com.eighth.strategy;

/**
 * 在这个类中，依赖的对象是接口，而不是具体的实现类
 * 策略模式：就是把功能抽象出来，定义成接口（抽象类），把具体的实现定义要一系列的算法（子类实现）
 * 让这些实现类，可以相互替换使用
 * 此类的实现就是面向抽象编程
 */
class Context {
    private ISave iSave;

    Context(ISave iSave) {
        this.iSave = iSave;
    }

    void save() {
        iSave.save("God bless me");
    }
}
